//#pragma once
//#include "vector_3d.h"
//#include "stdafx.h"
//class Rendering{
//public:
//	Vector_3D *ones;
//	int n;
//
//	GLfloat* light_ambient;
//	GLfloat* light_diffuse;
//	GLfloat* light_specular;
//	GLfloat* light_position;
//	GLfloat* mat_ambient;
//	GLfloat* mat_diffuse;
//	GLfloat* mat_specular;
//	GLfloat* high_shininess;
//
//	float viewx, viewy, viewz;
//	float viewlx, viewly, viewlz;
//	float cameraMoveSpeed;
//	float cameraRotateSpeed;
//	float viewAngle;
//public:
//	Rendering(Vector_3D*, int);
//	void initWindow();
//	void displayScene();
//	void changeAspectRatio(int, int);
//	void cameraMoveLeft ( int );
//	void cameraMoveUp( int );
//	void cameraMoveFront( int );
//	void cameraRotateLeft( int );
//	void specialKeys( int, int, int );
//	void normalKeys( unsigned char, int, int );
//	void rendering();
//};

#include "stdafx.h"
#include "Ball_3d.h"

//@tc : renders the whole scene.
void renderScene();

//@tc : this function is called whenever the size of the window is changed.
void changeAspectRatio(int, int);

//@tc : moves the camera to the left or to the right
void cameraMoveLeft ( int );

//@tc : moves the camera up or down
void cameraMoveUp( int );

//@tc : moves the camera forward and backward.
void cameraMoveFront( int );

//@tc : rotates the camera
void cameraRotateLeft( double );
void cameraRotateUp( double );

//@tc : this function is called whenever certain special key is pressed.
void specialKeys( int, int, int );

//@tc : this function is called whenever certain normal keys are pressed.
void normalKeys( unsigned char, int, int );

//@xyy: this function is called whenever
//      certain mouse keys are pressed or move over
void MouseKey(int button, int state, int x, int y);
void MouseMove(int x, int y);

//@tc : this function is in charge of the rendering process.
void rendering(int, char**);
